refactor(eve): configure agent steps per workflow step - #2424
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bundle + Package Summary:
|
| Area | Metric | Baseline | Current | Delta |
|---|---|---|---|---|
| Package | Packed tarball | 8.19 MB | 8.20 MB | +4.5 kB |
| Package | Unpacked publish size | 30.83 MB | 30.84 MB | +12.6 kB |
| Package | Installed footprint | 75.02 MB | 75.03 MB | +12.6 kB |
| Package | Published files | 3410 | 3418 | +8 |
| Package | Installed files | 7124 | 7132 | +8 |
| Package | Installed package instances | 35 | 35 | 0 |
| Package | Distinct installed package names | 34 | 34 | 0 |
| Package | Installed dependency edges | 53 | 53 | 0 |
| Package | Installed optional peer edges | 47 | 47 | 0 |
| Runtime | Unique function payloads | 2 | 2 | 0 |
| Runtime | Total function bytes | 18.22 MB | 18.23 MB | +13.3 kB |
| Runtime | Public routes | 16 | 16 | 0 |
Dependency manifest changes vs main (05f002b)
Peer dependencies
- Changed:
just-bash@^3.0.0 (optional)->just-bash@^3.1.0 (optional)
Changed function payloads vs main (05f002b) (2)
| Function | Status | Baseline | Current | Delta | Route changes |
|---|---|---|---|---|---|
functions/__server.func |
changed | 9.11 MB | 9.11 MB | +6.6 kB |
none |
functions/.well-known/workflow/v1/flow.func |
changed | 9.11 MB | 9.11 MB | +6.6 kB |
none |
eve init install
| Metric | Baseline | Current | Delta |
|---|---|---|---|
| Installed footprint | 113.43 MB | 113.44 MB | +12.6 kB |
| Installed packages | 121 | 121 | 0 |
| dependencies | 4 | 4 | 0 |
| devDependencies | 2 | 2 | 0 |
| Dependency package bytes | 45.39 MB | 45.40 MB | +12.6 kB |
| devDependency package bytes | 5.04 MB | 5.04 MB | 0 B ➖ |
Build Metadata
- Preset:
vercel - Nitro:
nitro@3.0.260610-beta - Output directory:
apps/fixtures/weather-agent/.vercel/output - Build metadata timestamp: 2026-08-24T17:38:54.834Z
- Route aliases: 16 public, 1 internal (17 total aliases)
- Vercel routes in config: 19
- Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down
Package Details
- Package:
eve@0.44.3 - Package directory:
packages/eve - Tarball: 8.20 MB (
eve-0.44.3.tgz) - Unpacked payload: 30.84 MB across 3418 published files
- Installed footprint: 75.03 MB across 7132 installed files
- Installed root package: 29.49 MB
- Installed dependencies: 45.55 MB
- Installed package instances: 35
- Distinct installed package names: 34
- Installed dependency edges: 53
- Installed optional peer edges: 47
- Runtime dependencies: 2
- Peer dependencies: 5 (4 optional)
Installed footprint is measured from an isolated temporary npm install of the packed tarball.
Graph metrics read only package.json files in package directories directly beneath a node_modules boundary, including nested boundaries. Each directory is one package instance; distinct names come from those manifests. Dependency edges count each unique name in dependencies or optionalDependencies per instance; optional peer edges count peerDependencies marked optional.
Heavy installed dependencies
eve: 29.49 MB (39.3%)@rolldown/binding-linux-x64-gnu: 19.91 MB (26.5%)ai: 6.75 MB (9.0%)zod: 5.07 MB (6.8%)undici: 3.50 MB (4.7%)
Publish payload breakdown
Published file size
🔴 dist/src/compiled/shadcn-registry/index.js [###############.........] 9.76 MB 31.6%
🟠 dist/src/compiled/@photon-ai/chat-adapter-ime... [####....................] 2.44 MB 7.9%
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [##......................] 1.51 MB 4.9%
🟡 dist/src/compiled/_chunks/workflow/undici-Dzn... [#.......................] 512.7 kB 1.7%
🟡 dist/src/compiled/_chunks/node/undici-CUIybhQ... [#.......................] 508.8 kB 1.6%
🔴 Other published files [########################] 16.11 MB 52.2%
Installed footprint breakdown
Installed package size
🔴 eve [########################] 29.49 MB 39.3%
🔴 @rolldown/binding-linux-x64-gnu [################........] 19.91 MB 26.5%
🔴 ai [#####...................] 6.75 MB 9.0%
🔴 zod [####....................] 5.07 MB 6.8%
🟠 undici [###.....................] 3.50 MB 4.7%
🟠 nitro [##......................] 2.41 MB 3.2%
🔴 Other installed packages [######..................] 7.90 MB 10.5%
Runtime dependencies (2)
| Package | Range | Notes |
|---|---|---|
nitro |
3.0.260610-beta |
|
undici |
8.9.0 |
Peer dependencies (5)
| Package | Range | Notes |
|---|---|---|
@opentelemetry/api |
^1.0.0 |
optional peer |
ai |
catalog: |
|
braintrust |
^3.0.0 |
optional peer |
just-bash |
^3.1.0 |
optional peer |
microsandbox |
^0.5.0 |
optional peer |
eve init install drill-down
eve init install details
- Command:
eve init my-agent - Package manager:
npm - Installed footprint: 113.44 MB across 9008 installed files
- Installed packages: 121 total (115 transitive-only)
- dependencies: 4 direct packages totaling 45.40 MB
- devDependencies: 2 direct packages totaling 5.04 MB
- Other transitive package files: 63.00 MB
Installed footprint is measured from an isolated temporary eve init my-agent using the current packed eve tarball.
Heavy installed dependencies
eve: 29.49 MB (26.0%)@typescript/typescript-linux-x64: 27.95 MB (24.6%)@rolldown/binding-linux-x64-gnu: 19.91 MB (17.6%)zod: 9.02 MB (8.0%)ai: 6.75 MB (6.0%)
Installed footprint breakdown
Installed package size
🔴 eve [########################] 29.49 MB 26.0%
🔴 @typescript/typescript-linux-x64 [#######################.] 27.95 MB 24.6%
🔴 @rolldown/binding-linux-x64-gnu [################........] 19.91 MB 17.6%
🔴 zod [#######.................] 9.02 MB 8.0%
🔴 ai [#####...................] 6.75 MB 6.0%
🟠 undici [###.....................] 3.50 MB 3.1%
🔴 Other installed packages [##############..........] 16.82 MB 14.8%
dependencies (4)
| Package | Range | Installed size | Share |
|---|---|---|---|
@vercel/connect |
0.4.3 |
141.0 kB | 0.1% |
ai |
^7.0.58 |
6.75 MB | 6.0% |
eve |
file:eve-0.44.3.tgz |
29.49 MB | 26.0% |
zod |
4.4.3 |
9.02 MB | 8.0% |
devDependencies (2)
| Package | Range | Installed size | Share |
|---|---|---|---|
@types/node |
24.x |
2.54 MB | 2.2% |
typescript |
7.0.2 |
2.50 MB | 2.2% |
Function Drill-Down
Payload Size Graph
Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func [########################] 9.11 MB 50.0%
🔴 functions/__server.func [########################] 9.11 MB 50.0%
Top Function Payloads
🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 9.11 MB
| Metric | Value |
|---|---|
| Public routes | /.well-known/workflow/v1/flow |
| Runtime | nodejs24.x |
| Handler | index.mjs |
| Payload | 9.11 MB |
| Function files | 9.11 MB across 50 files |
| Traced dependencies | 0 B |
| Signal | 🟠 Bundled file index.mjs is 2.07 MB (22.8%) |
🟠 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🟠 index.mjs [##################......] 2.07 MB 22.8%
🟠 _chunks/runtime-artifacts.mjs [###############.........] 1.80 MB 19.7%
🟡 _libs/undici.mjs [########................] 980.5 kB 10.8%
🟡 _chunks/sandbox.mjs [#######.................] 781.9 kB 8.6%
🟡 _chunks/frames-Dl2Hcma4.mjs [######..................] 678.7 kB 7.4%
🟠 Other bundled files [########################] 2.80 MB 30.7%
🧾 Vercel Config
{
"handler": "index.mjs",
"launcherType": "Nodejs",
"shouldAddHelpers": false,
"supportsResponseStreaming": true,
"runtime": "nodejs24.x",
"maxDuration": "max",
"experimentalTriggers": [
{
"type": "queue/v2beta",
"topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
"consumer": "default",
"retryAfterSeconds": 5,
"initialDelaySeconds": 0
}
],
"environment": {
"WORKFLOW_PRECONDITION_GUARD": "1"
}
}🟠 functions/__server.func • 15 public routes, 1 internal alias • 9.11 MB
| Metric | Value |
|---|---|
| Public routes | //eve/v1/callback/[token]/eve/v1/connections/[name]/callback/[attemptId]/[token]/eve/v1/connections/[name]/callback/[token]/eve/v1/health/eve/v1/info/eve/v1/session/eve/v1/session/[parentSessionId]/subagents/[callId]/[childSessionId]/stream/eve/v1/session/[sessionId]/eve/v1/session/[sessionId]/cancel/eve/v1/session/[sessionId]/clear/eve/v1/session/[sessionId]/compact/eve/v1/session/[sessionId]/reset/eve/v1/session/[sessionId]/stream/eve/v1/task-input/[token] |
| Internal aliases | /__server |
| Runtime | nodejs24.x |
| Handler | index.mjs |
| Payload | 9.11 MB |
| Function files | 9.11 MB across 50 files |
| Traced dependencies | 0 B |
| Signal | 🟠 Bundled file index.mjs is 2.07 MB (22.8%) |
🟠 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🟠 index.mjs [##################......] 2.07 MB 22.8%
🟠 _chunks/runtime-artifacts.mjs [###############.........] 1.80 MB 19.7%
🟡 _libs/undici.mjs [########................] 980.5 kB 10.8%
🟡 _chunks/sandbox.mjs [#######.................] 781.9 kB 8.6%
🟡 _chunks/frames-Dl2Hcma4.mjs [######..................] 678.7 kB 7.4%
🟠 Other bundled files [########################] 2.80 MB 30.7%
🧾 Vercel Config
{
"handler": "index.mjs",
"launcherType": "Nodejs",
"shouldAddHelpers": false,
"supportsResponseStreaming": true,
"runtime": "nodejs24.x"
}Build Timing: e2e/fixtures/agent-tools-sandbox
This is an informational timing measurement inside eve build, from preflight through publication. Output-size measurement and profile writing are excluded.
Build mode: deployable Vercel build with sandbox template prewarm included.
- Build pipeline: 2.05 s -> 2.25 s (+204.8 ms) vs
main (05f002b). - Timing is informational: shared GitHub runners are too variable for a hard timing budget.
Detailed phase timings vs `main (05f002b)`
| Phase | Baseline | Current | Delta |
|---|---|---|---|
extension.check |
11.1 ms | 11.9 ms | +0.8 ms |
project.resolve |
0.4 ms | 0.4 ms | 0.0 ms |
workspace.create |
0.8 ms | 0.8 ms | 0.0 ms |
host.prepare |
254.9 ms | 398.3 ms | +143.4 ms |
vercel.service-prefix.resolve |
2.1 ms | 1.8 ms | -0.3 ms |
nitro.create |
235.8 ms | 247.0 ms | +11.2 ms |
sandbox.prewarm |
149.6 ms | 182.4 ms | +32.8 ms |
nitro.cache.prepare |
0.2 ms | 0.2 ms | 0.0 ms |
nitro.prepare |
0.7 ms | 0.7 ms | 0.0 ms |
nitro.public-assets |
0.7 ms | 0.7 ms | 0.0 ms |
nitro.prerender |
0.4 ms | 0.5 ms | +0.1 ms |
nitro.bundle |
1.36 s | 1.38 s | +16.3 ms |
nitro.cache.write |
0.3 ms | 0.4 ms | +0.1 ms |
vercel.workflow-function.materialize |
23.2 ms | 23.6 ms | +0.4 ms |
agent-summary.emit |
0.5 ms | 0.5 ms | 0.0 ms |
nitro.close |
0.1 ms | 0.1 ms | 0.0 ms |
output.publish |
3.3 ms | 3.3 ms | 0.0 ms |
workspace.remove |
1.9 ms | 1.8 ms | -0.1 ms |
37a227d to
c318195
Compare
c318195 to
267bc42
Compare
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
267bc42 to
c5d4769
Compare
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Summary
Workflow execution currently hard-codes one agent-loop step per durable Workflow step. This adds a single internal limit and makes continuation batching preserve per-step setup, cooperative cancellation, steering, and physical-step retry semantics, while leaving the limit at
1; a temporary10canary was reverted after exposing a Postgres-world cancellation limitation.Before starting another logical step, eve journals the completed session/context to a Workflow stream scoped by the physical step's stable
stepId. A physical retry resumes from the latest journal entry; an empty journal immediately replays logical step 1. Sleep, background-task launch, HITL, authorization, and runtime-action results remain batching barriers.Background task readiness is modeled as an explicit generic
commitBarrierrather than inferred from task fields.turnStepowns both the barrier transition and the state safe for cancellation;turnWorkflowonly persists the transition and executes the typed post-commit effect.Validation
A temporary
N=10CI canary passed core CI, all Local E2E, all Vercel E2E, and 21/23 Postgres fixtures. Postgres cancellation and cancelled-first-turn dynamic-model evals timed out because that world did not deliver live cancellation into the long-running first physical step; the limit was restored to1rather than weakening cancellation semantics.The production-default focused suites, package typecheck/build, formatting, lint, and invariant guard pass. A temporary
N=10canary passed the full unit suite (667 files; 7,052 tests passed, 1 skipped), all durable-session/checkpoint retry integration tests (5), and real Workflow steering/direct-cancellation integration tests (2; the remaining sandbox-backed cases are left to clean CI because the local microsandbox migration database is stale).Checklist
CONTRIBUTING.mdevepackagegit commit --signoff)Diff size
Docs — 1 file ·
+5 / -0A changeset records the preparatory execution behavior and preserved one-step default; no user-facing docs change while the limit remains
1.Implementation — 7 files ·
+504 / -222The batching transaction and Workflow journal preserve logical checkpoints; explicit transitions and commit barriers keep background-task transaction details out of workflow orchestration; result finalization is separated by concern.
Tests — 4 files ·
+442 / -18Coverage exercises multi-step behavior by overriding the internal limit without changing production, including populated and empty retry journals, per-step setup, generic commit barriers, cancellation, steering, sleep, and background-task boundaries.